﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SessionLogBaseEntity.cs" company="Özgür Aytekin / Sandro Schnapp">
//   Özgür Aytekin / Sandro Schnapp
// </copyright>
// <summary>
//   Defines the SessionLogBaseEntity type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

using System;
using System.Runtime.Serialization;

namespace SqlSystemWatcher.Entities
{
    /// <summary>
    ///     The session log base entity.
    /// </summary>
    [DataContract]
    public class SessionLogBaseEntity : ISessionLog
    {
        /// <summary>
        ///     Gets or sets the id.
        /// </summary>
        [DataMember]
        public int Id { get; set; }

        /// <summary>
        ///     Gets or sets the session log set id.
        /// </summary>
        [DataMember]
        public Guid? SessionLogSetId { get; set; }

        /// <summary>
        ///     Gets or sets the session id.
        /// </summary>
        [DataMember]
        public int? SessionId { get; set; }

        /// <summary>
        ///     Gets or sets the login name.
        /// </summary>
        [DataMember]
        public string LoginName { get; set; }

        /// <summary>
        ///     Gets or sets the host name.
        /// </summary>
        [DataMember]
        public string HostName { get; set; }

        /// <summary>
        ///     Gets or sets the wait time.
        /// </summary>
        [DataMember]
        public int WaitTime { get; set; }

        /// <summary>
        ///     Gets or sets the processor time.
        /// </summary>
        [DataMember]
        public int CpuTime { get; set; }

        /// <summary>
        ///     Gets or sets the reads.
        /// </summary>
        [DataMember]
        public int Reads { get; set; }

        /// <summary>
        ///     Gets or sets the writes.
        /// </summary>
        [DataMember]
        public int Writes { get; set; }

        /// <summary>
        ///     Gets or sets the server name.
        /// </summary>
        [DataMember]
        public string ServerName { get; set; }

        /// <summary>
        ///     Gets or sets the created date.
        /// </summary>
        [DataMember]
        public DateTime CreatedDate { get; set; }
    }
}